package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 答辩组基本信息表
 * </p>
 *
 * @author liwei
 * @since 2024-11-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("defense_group")
@Schema(name = "DefenseGroup对象", description = "答辩组基本信息表")
public class DefenseGroup implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "答辩组编号")
    @TableId(value = "defense_group_id", type = IdType.AUTO)
    private Long defenseGroupId;

    @Schema(description = "计划编号")
    private Long academicYearId;

    @Schema(description = "最初的主键;初次新增--最初的主键等于主键；每修改一次，增加一条记录--最初的主键等于初次新增的主键。")
    private Long originalDefenseGroupId;

    @Schema(description = "数据类型。0：正式数据，1：历史数据")
    private Integer dataType;

    @Schema(description = "答辩组所属学院编号")
    private Long secondId;

    @Schema(description = "答辩组名称")
    private String defenseGroupName;

    @Schema(description = "答辩地点")
    private String defenseAddress;

    @Schema(description = "答辩开始日期")
    private LocalDateTime defenseBeginDatetime;

    @Schema(description = "答辩结束日期")
    private LocalDateTime defenseEndDatetime;

    @Schema(description = "答辩组类型")
    private String menuPageCode;

    @Schema(description = "业务类型code 。开题答辩：014_002 ;中期答辩：015_002；预答辩：016_002；毕业答辩：012_002")
    private String parentPageCode;

    @Schema(description = "被复制了几次")
    private Integer defenseCopyCount;

    @Schema(description = "复制的答辩组编号")
    private Long defenseGroupCopyNumber;

    @Schema(description = "创建答辩组时的答辩资格要求设置")
    private String entitlementSet;

    @Schema(description = "答辩组组长是否排除学生导师。是：1；否：0")
    private Integer leaderIsExcludeTeacher;

    @Schema(description = "答辩组教师是否排除学生导师。是：1；否：0")
    private Integer teacherIsExcludeTeacher;

    @Schema(description = "创建人")
    private Long createBy;

    @Schema(description = "最后修改人")
    private Long modifyBy;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "最后修改时间")
    private LocalDateTime modifyTime;

    @Schema(description = "是否删除  是：1；否：0")
    private Integer isDelete;
}
